package web.administrador;

import Persistencia.Fisioterapeuta;
import org.springframework.web.servlet.mvc.SimpleFormController;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.RedirectView;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import controladores.ControladorAutenticar;
import controladores.ControladorFisioterapeuta;
import dominio.FisioterapeutaDomain;
import dominio.login;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * Este controlador se encarga de ingresar un nuevo fisioterapeuta
 * si el ingreso no es posible se encarga de mostrar el mensaje de error
 */
public class ControladorSimpleFisioterapeuta extends SimpleFormController{

    ControladorFisioterapeuta controlador = new ControladorFisioterapeuta();
    Fisioterapeuta obj;
    FisioterapeutaDomain objFisio;

    @Override
    public ModelAndView onSubmit(Object command) throws ServletException {
        objFisio = (FisioterapeutaDomain)command;
        controlador.setFisioterapeuta(objFisio);
        String res = controlador.guardarFisioterapeuta();
        Map<String, Object> modelo = new HashMap();
        if(res.split(" ")[0].equalsIgnoreCase("Se")){
            modelo.put("mensajeOk", res);
            modelo.put("mensajeNo", "");
            modelo.put("direccion", "IngresarFisioterapeuta.htm");
            return new ModelAndView("resultadoValidator","model",modelo);
        }else{
            modelo.put("mensajeOk", "");
            modelo.put("mensajeNo", res);
            modelo.put("direccion", "IngresarFisioterapeuta.htm");
            return new ModelAndView("resultadoValidator","model",modelo);
        }        
    }

    protected Object formBackingObject(HttpServletRequest request) throws ServletException {
        FisioterapeutaDomain log = new FisioterapeutaDomain();
        return log;
    }

    public void setControladorFisioterapeuta(ControladorFisioterapeuta productManager) {
        this.controlador = productManager;
    }

    public ControladorFisioterapeuta getControladorFisioterapeuta() {
        return controlador;
    }

    @SuppressWarnings("unchecked")
    protected Map referenceData(HttpServletRequest request) throws Exception {
        Map referenceData = new HashMap();
        List<String> anos=new ArrayList();
        List<String> meses=new ArrayList();
        List<String> dias=new ArrayList();
        java.util.Date date = new java.util.Date();
        System.out.println(date.getYear());
        for(int i=1900;i<=(1900+date.getYear());i++){
            anos.add(""+i);
        }
        System.out.println(anos);
        for(int i=1;i<13;i++){
            meses.add(""+i);
        }
        for(int i=1;i<32;i++){
            dias.add(""+i);
        }
        referenceData.put("anos", anos);
        referenceData.put("dias", dias);
        referenceData.put("meses", meses);
        return referenceData;
    }
}
